/**
 * 创建支付订单请求DTO - 封装支付订单创建所需的参数信息
 *
 * 开发人员：徐少洋
 * 开发时间：2025-10-25 至 2025-10-28
 * 模块职责：定义支付订单创建接口的请求参数格式，支持商品支付和直接支付两种模式
 *
 * 技术要点：
 * - 商品ID可选（支持直接支付）
 * - 用户ID可选（支持匿名支付）
 * - 金额最小值验证（至少1分钱）
 * - 支付方式默认微信支付
 * - Bean Validation注解支持参数校验
 *
 * 开发故事：负责支付订单创建请求DTO的设计和实现，与支付服务层深度配合，支持灵活的支付订单创建方式。
 */
package com.pbl.dto.payment;

import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

@Data
public class CreateOrderRequest {
    private Long userId;
    private Long productId;
    @NotBlank
    private String name;
    @Min(1)
    private BigDecimal amount;
    private String payType = "wxpay";
}
